home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / database / postgres / appgen-0.2-a / appgen-0 / AppGEN / apps / pam.app < prev    next >
Encoding:
INI File  |  1996-07-11  |  14.7 KB  |  520 lines

  1. [GLOBAL]
  2.     SET pgdir AS "/usr/local/postgres95"
  3.     SET pghost AS "arthur"
  4.     SET pgdatabase AS "root"
  5.     SET httpd-dir AS "/usr/local/httpd"
  6.     SET cgi-url AS "http://arthur/apps"
  7.     SET doc-url AS "http://arthur/docs"
  8.     SET src-dir AS "."
  9.  
  10. [MODULE sites]
  11.     SET default_process AS "clear"
  12.  
  13. [FORM sites]
  14.     SET title AS "Site Details"
  15.     DEFINE FORM {
  16.         recnum : 10 : "" : HIDDEN
  17.         site_code : 7 : "site_code: " : TEXT
  18.         name : 30 : "name: " : TEXT
  19.         } IN COLUMN
  20.     DEFINE TOOLBAR {
  21.         "ADD" : ALL : PROCESS "add"
  22.         "FIND" : ALL : PROCESS "find"
  23.         "UPDATE" : DATA : PROCESS "update"
  24.         "DELETE" : DATA : PROCESS "delete"
  25.         "CLEAR" : ALL : PROCESS "clear"
  26.         "EXIT" : ALL : MENU "pam"
  27.         }
  28.  
  29. [FORM sure]
  30.     SET title AS "Are you sure you want to delete ?"
  31.     DEFINE FORM {
  32.         recnum : 10 : "" : HIDDEN
  33.         site_code : 7 : "site_code: " : TEXT
  34.         }
  35.     DEFINE TOOLBAR {
  36.         "YES" : ALL : PROCESS "yes"
  37.         "NO" : ALL : PROCESS "clear"
  38.         }
  39.  
  40. [PROCESS add]
  41.     DATA results
  42.     INT no_rows
  43.     INT new_recnum
  44.     SQL "SELECT * FROM sites WHERE  site_code=$input.site_code;" TO results
  45.     ROWS results TO no_rows
  46.     IF no_rows > 0 THEN BEGIN
  47.         DISPLAY sites WITH input ERROR "Duplicate Record" ON 1
  48.         END
  49.     SQL "SELECT max(recnum) FROM sites;" TO results
  50.     CALC ( results.0.0 + 1 ) TO new_recnum
  51.     SQL "INSERT INTO sites (recnum,site_code,name) VALUES ($new_recnum , '$input.site_code', '$input.name');"
  52.     DISPLAY sites
  53.  
  54. [PROCESS update]
  55.     DATA results
  56.     INT no_rows
  57.     SQL "UPDATE sites SET site_code='$input.site_code',name='$input.name' WHERE recnum = $input.recnum ;"
  58.     DISPLAY sites
  59.  
  60. [PROCESS delete]
  61.     DISPLAY sure WITH input
  62.  
  63. [PROCESS clear]
  64.     DISPLAY sites
  65.  
  66. [PROCESS yes]
  67.     SQL "DELETE FROM sites WHERE recnum = $input.recnum ;"
  68.     DISPLAY sites
  69.  
  70. [PROCESS find]
  71.     DATA results
  72.     INT and
  73.     STRING query
  74.     MOVE 0 TO and
  75.     MOVE "SELECT recnum, site_code, name FROM sites WHERE " TO query
  76.     IF NOT BLANK(input.site_code) THEN BEGIN
  77.         IF and = 1 THEN APPEND query " AND "
  78.         APPEND query "site_code like '%" input.site_code "%'"
  79.         MOVE 1 TO and
  80.         END
  81.     IF NOT BLANK(input.name) THEN BEGIN
  82.         IF and = 1 THEN APPEND query " AND "
  83.         APPEND query "name like '%" input.name "%'"
  84.         MOVE 1 TO and
  85.         END
  86.     APPEND query "ORDER BY site_code, name;"
  87.     SQL query TO results
  88.     OUTPUT find_list WITH results
  89.  
  90. [PROCESS find_display]
  91.     DATA results
  92.     SQL "SELECT recnum, site_code,name FROM sites WHERE recnum=$input.recnum ;" TO results
  93.     DISPLAY sites WITH results
  94.  
  95. [PROCESS pick_display]
  96.     DISPLAY sites WITH input
  97.  
  98. [OUTPUT find_list]
  99.     SET title AS "Search Results"
  100.     SET type AS screen
  101.     DEFINE OUTPUT {
  102.         recnum : RIGHT : "Record"
  103.         site_code : LEFT : "site_code"
  104.         name : LEFT : "name"
  105.         } LINK TO PROCESS find_display WITH VALUE recnum
  106.  
  107.  
  108. [MODULE blocks]
  109.     SET default_process AS "clear"
  110.  
  111. [FORM blocks]
  112.     SET title AS "Block Details"
  113.     DEFINE FORM {
  114.         recnum : 10 : "" : HIDDEN
  115.         site_code : 7 : "site_code: " : PICK PROCESS "pick_site_code"
  116.         block : 2 : "block: " : TEXT
  117.         description : 45 : "description: " : TEXT
  118.         gen_comment : 45 : "gen_comment: " : TEXT
  119.         area : 10 : "area: " : TEXT
  120.         stories : 10 : "stories: " : TEXT
  121.         volume : 10 : "volume: " : TEXT
  122.         year_built : 10 : "year_built: " : TEXT
  123.         year_upgraded : 10 : "year_upgraded: " : TEXT
  124.         funct_cap : 10 : "funct_cap: " : TEXT
  125.         actual_use : 10 : "actual_use: " : TEXT
  126.         } IN COLUMN
  127.     DEFINE TOOLBAR {
  128.         "ADD" : ALL : PROCESS "add"
  129.         "FIND" : ALL : PROCESS "find"
  130.         "UPDATE" : DATA : PROCESS "update"
  131.         "DELETE" : DATA : PROCESS "delete"
  132.         "CLEAR" : ALL : PROCESS "clear"
  133.         "EXIT" : ALL : MENU "pam"
  134.         }
  135.  
  136. [FORM sure]
  137.     SET title AS "Are you sure you want to delete ?"
  138.     DEFINE FORM {
  139.         recnum : 10 : "" : HIDDEN
  140.         site_code : 7 : "site_code: " : TEXT
  141.         block : 2 : "block: " : TEXT
  142.         }
  143.     DEFINE TOOLBAR {
  144.         "YES" : ALL : PROCESS "yes"
  145.         "NO" : ALL : PROCESS "clear"
  146.         }
  147.  
  148. [PROCESS add]
  149.     DATA results
  150.     INT no_rows
  151.     INT new_recnum
  152.     SQL "SELECT * FROM blocks WHERE  site_code=$input.site_code AND block=$input.block;" TO results
  153.     ROWS results TO no_rows
  154.     IF no_rows > 0 THEN BEGIN
  155.         DISPLAY blocks WITH input ERROR "Duplicate Record" ON 1
  156.         END
  157.     SQL "SELECT site_code from sites WHERE site_code=$input.site_code ;" TO results
  158.     ROWS results TO no_rows
  159.     IF no_rows = 0 THEN BEGIN
  160.         DISPLAY blocks WITH input ERROR "Foreign Key Not Found" ON 1
  161.         END
  162.     SQL "SELECT max(recnum) FROM blocks;" TO results
  163.     CALC ( results.0.0 + 1 ) TO new_recnum
  164.     SQL "INSERT INTO blocks (recnum,site_code,block,description,gen_comment,area,stories,volume,year_built,year_upgraded,funct_cap,actual_use) VALUES ($new_recnum , '$input.site_code', '$input.block', '$input.description', '$input.gen_comment', $input.area, $input.stories, $input.volume, $input.year_built, $input.year_upgraded, $input.funct_cap, $input.actual_use);"
  165.     DISPLAY blocks
  166.  
  167. [PROCESS update]
  168.     DATA results
  169.     INT no_rows
  170.     SQL "SELECT site_code from sites WHERE site_code=$input.site_code ;" TO results
  171.     ROWS results TO no_rows
  172.     IF no_rows = 0 THEN BEGIN
  173.         DISPLAY blocks WITH input ERROR "Foreign Key Not Found" ON 1
  174.         END
  175.     SQL "UPDATE blocks SET site_code='$input.site_code',block='$input.block',description='$input.description',gen_comment='$input.gen_comment',area=$input.area,stories=$input.stories,volume=$input.volume,year_built=$input.year_built,year_upgraded=$input.year_upgraded,funct_cap=$input.funct_cap,actual_use=$input.actual_use WHERE recnum = $input.recnum ;"
  176.     DISPLAY blocks
  177.  
  178. [PROCESS delete]
  179.     DISPLAY sure WITH input
  180.  
  181. [PROCESS clear]
  182.     DISPLAY blocks
  183.  
  184. [PROCESS yes]
  185.     SQL "DELETE FROM blocks WHERE recnum = $input.recnum ;"
  186.     DISPLAY blocks
  187.  
  188. [PROCESS find]
  189.     DATA results
  190.     INT and
  191.     STRING query
  192.     MOVE 0 TO and
  193.     MOVE "SELECT recnum, site_code, block, description FROM blocks WHERE " TO query
  194.     IF NOT BLANK(input.site_code) THEN BEGIN
  195.         IF and = 1 THEN APPEND query " AND "
  196.         APPEND query "site_code like '%" input.site_code "%'"
  197.         MOVE 1 TO and
  198.         END
  199.     IF NOT BLANK(input.block) THEN BEGIN
  200.         IF and = 1 THEN APPEND query " AND "
  201.         APPEND query "block like '%" input.block "%'"
  202.         MOVE 1 TO and
  203.         END
  204.     IF NOT BLANK(input.description) THEN BEGIN
  205.         IF and = 1 THEN APPEND query " AND "
  206.         APPEND query "description like '%" input.description "%'"
  207.         MOVE 1 TO and
  208.         END
  209.     IF NOT BLANK(input.gen_comment) THEN BEGIN
  210.         IF and = 1 THEN APPEND query " AND "
  211.         APPEND query "gen_comment like '%" input.gen_comment "%'"
  212.         MOVE 1 TO and
  213.         END
  214.     APPEND query "ORDER BY site_code, block, description;"
  215.     SQL query TO results
  216.     OUTPUT find_list WITH results
  217.  
  218. [PROCESS find_display]
  219.     DATA results
  220.     SQL "SELECT recnum, site_code,block,description,gen_comment,area,stories,volume,year_built,year_upgraded,funct_cap,actual_use FROM blocks WHERE recnum=$input.recnum ;" TO results
  221.     DISPLAY blocks WITH results
  222.  
  223. [PROCESS pick_display]
  224.     DISPLAY blocks WITH input
  225.  
  226. [PROCESS pick_site_code]
  227.     DATA results
  228.     SQL "SELECT site_code from sites ; " TO results
  229.     OUTPUT pick_site_code WITH results
  230.  
  231. [OUTPUT pick_site_code]
  232.     SET title AS "Available choices:"
  233.     SET type AS screen
  234.     DEFINE  OUTPUT {
  235.         site_code : LEFT : "site_code"
  236.         } LINK TO PROCESS pick_display WITH VALUE site_code
  237.  
  238. [OUTPUT find_list]
  239.     SET title AS "Search Results"
  240.     SET type AS screen
  241.     DEFINE OUTPUT {
  242.         recnum : RIGHT : "Record"
  243.         site_code : LEFT : "site_code"
  244.         block : LEFT : "block"
  245.         description : LEFT : "description"
  246.         } LINK TO PROCESS find_display WITH VALUE recnum
  247.  
  248.  
  249. [MODULE element]
  250.     SET default_process AS "clear"
  251.  
  252. [FORM element]
  253.     SET title AS "Condition Elements"
  254.     DEFINE FORM {
  255.         recnum : 10 : "" : HIDDEN
  256.         element_number : 10 : "element_number: " : TEXT
  257.         name : 25 : "name: " : TEXT
  258.         } IN COLUMN
  259.     DEFINE TOOLBAR {
  260.         "ADD" : ALL : PROCESS "add"
  261.         "FIND" : ALL : PROCESS "find"
  262.         "UPDATE" : DATA : PROCESS "update"
  263.         "DELETE" : DATA : PROCESS "delete"
  264.         "CLEAR" : ALL : PROCESS "clear"
  265.         "EXIT" : ALL : MENU "pam"
  266.         }
  267.  
  268. [FORM sure]
  269.     SET title AS "Are you sure you want to delete ?"
  270.     DEFINE FORM {
  271.         recnum : 10 : "" : HIDDEN
  272.         element_number : 10 : "element_number: " : TEXT
  273.         }
  274.     DEFINE TOOLBAR {
  275.         "YES" : ALL : PROCESS "yes"
  276.         "NO" : ALL : PROCESS "clear"
  277.         }
  278.  
  279. [PROCESS add]
  280.     DATA results
  281.     INT no_rows
  282.     INT new_recnum
  283.     SQL "SELECT * FROM element WHERE  element_number=$input.element_number;" TO results
  284.     ROWS results TO no_rows
  285.     IF no_rows > 0 THEN BEGIN
  286.         DISPLAY element WITH input ERROR "Duplicate Record" ON 1
  287.         END
  288.     SQL "SELECT max(recnum) FROM element;" TO results
  289.     CALC ( results.0.0 + 1 ) TO new_recnum
  290.     SQL "INSERT INTO element (recnum,element_number,name) VALUES ($new_recnum , $input.element_number, '$input.name');"
  291.     DISPLAY element
  292.  
  293. [PROCESS update]
  294.     DATA results
  295.     INT no_rows
  296.     SQL "UPDATE element SET element_number=$input.element_number,name='$input.name' WHERE recnum = $input.recnum ;"
  297.     DISPLAY element
  298.  
  299. [PROCESS delete]
  300.     DISPLAY sure WITH input
  301.  
  302. [PROCESS clear]
  303.     DISPLAY element
  304.  
  305. [PROCESS yes]
  306.     SQL "DELETE FROM element WHERE recnum = $input.recnum ;"
  307.     DISPLAY element
  308.  
  309. [PROCESS find]
  310.     DATA results
  311.     INT and
  312.     STRING query
  313.     MOVE 0 TO and
  314.     MOVE "SELECT recnum, element_number, name FROM element WHERE " TO query
  315.     IF NOT BLANK(input.name) THEN BEGIN
  316.         IF and = 1 THEN APPEND query " AND "
  317.         APPEND query "name like '%" input.name "%'"
  318.         MOVE 1 TO and
  319.         END
  320.     APPEND query "ORDER BY element_number, name;"
  321.     SQL query TO results
  322.     OUTPUT find_list WITH results
  323.  
  324. [PROCESS find_display]
  325.     DATA results
  326.     SQL "SELECT recnum, element_number,name FROM element WHERE recnum=$input.recnum ;" TO results
  327.     DISPLAY element WITH results
  328.  
  329. [PROCESS pick_display]
  330.     DISPLAY element WITH input
  331.  
  332. [OUTPUT find_list]
  333.     SET title AS "Search Results"
  334.     SET type AS screen
  335.     DEFINE OUTPUT {
  336.         recnum : RIGHT : "Record"
  337.         element_number : LEFT : "element_number"
  338.         name : LEFT : "name"
  339.         } LINK TO PROCESS find_display WITH VALUE recnum
  340.  
  341.  
  342. [MODULE condition]
  343.     SET default_process AS "clear"
  344.  
  345. [FORM condition]
  346.     SET title AS "Physical Condition"
  347.     DEFINE FORM {
  348.         recnum : 10 : "" : HIDDEN
  349.         site_code : 7 : "site_code: " : PICK PROCESS "pick_site_code"
  350.         block : 2 : "block: " : PICK PROCESS "pick_block"
  351.         element : 10 : "element: " : PICK PROCESS "pick_element"
  352.         category : 2 : "category: " : TEXT
  353.         life : 10 : "life: " : TEXT
  354.         repair : 10 : "repair: " : TEXT
  355.         upgrade : 10 : "upgrade: " : TEXT
  356.         } IN COLUMN
  357.     DEFINE TOOLBAR {
  358.         "ADD" : ALL : PROCESS "add"
  359.         "FIND" : ALL : PROCESS "find"
  360.         "UPDATE" : DATA : PROCESS "update"
  361.         "DELETE" : DATA : PROCESS "delete"
  362.         "CLEAR" : ALL : PROCESS "clear"
  363.         "EXIT" : ALL : MENU "pam"
  364.         }
  365.  
  366. [FORM sure]
  367.     SET title AS "Are you sure you want to delete ?"
  368.     DEFINE FORM {
  369.         recnum : 10 : "" : HIDDEN
  370.         site_code : 7 : "site_code: " : TEXT
  371.         block : 2 : "block: " : TEXT
  372.         element : 10 : "element: " : TEXT
  373.         }
  374.     DEFINE TOOLBAR {
  375.         "YES" : ALL : PROCESS "yes"
  376.         "NO" : ALL : PROCESS "clear"
  377.         }
  378.  
  379. [PROCESS add]
  380.     DATA results
  381.     INT no_rows
  382.     INT new_recnum
  383.     SQL "SELECT * FROM condition WHERE  site_code=$input.site_code AND block=$input.block AND element=$input.element;" TO results
  384.     ROWS results TO no_rows
  385.     IF no_rows > 0 THEN BEGIN
  386.         DISPLAY condition WITH input ERROR "Duplicate Record" ON 1
  387.         END
  388.     SQL "SELECT site_code FROM sites WHERE site_code=$input.site_code ;" TO results
  389.     ROWS results TO no_rows
  390.     IF no_rows = 0 THEN BEGIN
  391.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 1
  392.         END
  393.     SQL "SELECT block FROM blocks WHERE block=$input.block ;" TO results
  394.     ROWS results TO no_rows
  395.     IF no_rows = 0 THEN BEGIN
  396.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 2
  397.         END
  398.     SQL "SELECT element_number FROM element WHERE element_number=$input.element ;" TO results
  399.     ROWS results TO no_rows
  400.     IF no_rows = 0 THEN BEGIN
  401.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 3
  402.         END
  403.     SQL "SELECT max(recnum) FROM condition;" TO results
  404.     CALC ( results.0.0 + 1 ) TO new_recnum
  405.     SQL "INSERT INTO condition (recnum,site_code,block,element,category,life,repair,upgrade) VALUES ($new_recnum , '$input.site_code', '$input.block', $input.element, '$input.category', $input.life, $input.repair, $input.upgrade);"
  406.     DISPLAY condition
  407.  
  408. [PROCESS update]
  409.     DATA results
  410.     INT no_rows
  411.     SQL "SELECT site_code FROM sites WHERE site_code=$input.site_code ;" TO results
  412.     ROWS results TO no_rows
  413.     IF no_rows = 0 THEN BEGIN
  414.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 1
  415.         END
  416.     SQL "SELECT block FROM blocks WHERE block=$input.block ;" TO results
  417.     ROWS results TO no_rows
  418.     IF no_rows = 0 THEN BEGIN
  419.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 2
  420.         END
  421.     SQL "SELECT element_number FROM element WHERE element_number=$input.element ;" TO results
  422.     ROWS results TO no_rows
  423.     IF no_rows = 0 THEN BEGIN
  424.         DISPLAY condition WITH input ERROR "Foreign Key Not Found" ON 3
  425.         END
  426.     SQL "UPDATE condition SET site_code='$input.site_code',block='$input.block',element=$input.element,category='$input.category',life=$input.life,repair=$input.repair,upgrade=$input.upgrade WHERE recnum = $input.recnum ;"
  427.     DISPLAY condition
  428.  
  429. [PROCESS delete]
  430.     DISPLAY sure WITH input
  431.  
  432. [PROCESS clear]
  433.     DISPLAY condition
  434.  
  435. [PROCESS yes]
  436.     SQL "DELETE FROM condition WHERE recnum = $input.recnum ;"
  437.     DISPLAY condition
  438.  
  439. [PROCESS find]
  440.     DATA results
  441.     INT and
  442.     STRING query
  443.     MOVE 0 TO and
  444.     MOVE "SELECT recnum, site_code, block, element FROM condition WHERE " TO query
  445.     IF NOT BLANK(input.site_code) THEN BEGIN
  446.         IF and = 1 THEN APPEND query " AND "
  447.         APPEND query "site_code like '%" input.site_code "%'"
  448.         MOVE 1 TO and
  449.         END
  450.     IF NOT BLANK(input.block) THEN BEGIN
  451.         IF and = 1 THEN APPEND query " AND "
  452.         APPEND query "block like '%" input.block "%'"
  453.         MOVE 1 TO and
  454.         END
  455.     IF NOT BLANK(input.category) THEN BEGIN
  456.         IF and = 1 THEN APPEND query " AND "
  457.         APPEND query "category like '%" input.category "%'"
  458.         MOVE 1 TO and
  459.         END
  460.     APPEND query "ORDER BY site_code, block, element;"
  461.     SQL query TO results
  462.     OUTPUT find_list WITH results
  463.  
  464. [PROCESS find_display]
  465.     DATA results
  466.     SQL "SELECT recnum, site_code,block,element,category,life,repair,upgrade FROM condition WHERE recnum=$input.recnum ;" TO results
  467.     DISPLAY condition WITH results
  468.  
  469. [PROCESS pick_display]
  470.     DISPLAY condition WITH input
  471.  
  472. [PROCESS pick_site_code]
  473.     DATA results
  474.     SQL "SELECT site_code FROM sites ; " TO results
  475.     OUTPUT pick_site_code WITH results
  476.  
  477. [OUTPUT pick_site_code]
  478.     SET title AS "Available choices:"
  479.     SET type AS screen
  480.     DEFINE  OUTPUT {
  481.         site_code : LEFT : "site_code"
  482.         } LINK TO PROCESS pick_display WITH VALUE site_code
  483.  
  484. [PROCESS pick_block]
  485.     DATA results
  486.     SQL "SELECT block FROM blocks ; " TO results
  487.     OUTPUT pick_block WITH results
  488.  
  489. [OUTPUT pick_block]
  490.     SET title AS "Available choices:"
  491.     SET type AS screen
  492.     DEFINE  OUTPUT {
  493.         block : LEFT : "block"
  494.         } LINK TO PROCESS pick_display WITH VALUE block
  495.  
  496. [PROCESS pick_element]
  497.     DATA results
  498.     SQL "SELECT element_number FROM element ; " TO results
  499.     OUTPUT pick_element WITH results
  500.  
  501. [OUTPUT pick_element]
  502.     SET title AS "Available choices:"
  503.     SET type AS screen
  504.     DEFINE  OUTPUT {
  505.         element : LEFT : "element"
  506.         } LINK TO PROCESS pick_display WITH VALUE element
  507.  
  508. [OUTPUT find_list]
  509.     SET title AS "Search Results"
  510.     SET type AS screen
  511.     DEFINE OUTPUT {
  512.         recnum : RIGHT : "Record"
  513.         site_code : LEFT : "site_code"
  514.         block : LEFT : "block"
  515.         element : LEFT : "element"
  516.         } LINK TO PROCESS find_display WITH VALUE recnum
  517.  
  518.  
  519.  
  520. []